{
LANG : PASCAL
PROB : kimbits
}

program KIMBITS;
const
  fi = 'kimbits.in';
  fo = 'kimbits.out';
  max = 32;
var
  d : array[0..max, 0..max] of qword;
  n, l, m : qword;

procedure process;
var
  i, j : longint;
begin
  fillchar(d, sizeof(d), 0);
  d[0, 1] := 0;
  for i := 0 to n do d[i, 0] := 1;
  for i := 1 to n do
    for j := 1 to i do
      d[i, j] := d[i-1, j] + d[i-1, j-1];
  for i := 1 to n do
    for j := 1 to i do
      d[i, j] := d[i, j] + d[i, j-1];
end;

function max2(x, y : integer) : integer;
begin
  if x > y then max2 := x
  else max2 := y;
end;

procedure out;
var
  i, j : longint;
begin
  j := l;
  for i := n downto 1 do
  begin
    if j > i-1 then j := i-1;
    if d[i-1, j] < m then
    begin
      write(1);
      dec(m, d[i-1, j]);
      dec(j);
    end
    else write(0);
  end;
  writeln;
end;

begin
  assign(input, fi); reset(input);
  assign(output, fo); rewrite(output);
  read(n, l, m);
  process;
  out;
  close(output);
  close(input);
end.
